﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="DeployableProject.cs" company="Elilink">
//   Defor
// </copyright>
// <summary>
//   Class with all project dependent properties needed for deploy
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace BusinessLayer.Objects
{
    /// <summary>
    ///     Class with all project dependent properties needed for deploy
    /// </summary>
    public class DeployableProject
    {
        #region Public Properties

        /// <summary>
        ///     Gets or sets the password if target server uses authentication.
        /// </summary>
        public string Password { get; set; }

        /// <summary>
        ///     Gets or sets the name of the project. Is used as Primary Key on interactions
        /// </summary>
        public string ProjectName { get; set; }

        /// <summary>
        ///     Gets or sets the absolute path to project's .csproj file.
        /// </summary>
        public string ProjectPath { get; set; }

        /// <summary>
        ///     Gets or sets the name of publish profile to use for deployment.
        /// </summary>
        public string PublishProfile { get; set; }

        /// <summary>
        ///     Gets or sets a value indicating whether current project can be deployed. Non table property.
        /// </summary>
        public bool ReadyForDeploy { get; set; }

        /// <summary>
        ///     Gets or sets the navigation property to interact with target systems. Is used as Foreign Key on interactions
        /// </summary>
        public virtual string TargetSystemName { get; set; }

        /// <summary>
        ///      Gets or sets the username if target server uses authentication.
        /// </summary>
        public string UserName { get; set; }

        #endregion
    }
}